<?php

/**
 * Klasa Koszyk
 * 
 * @package swzz
 */
class swzz_Basket implements swzz_Order
{

    // ---- PROPERTIES ----

    /**
     * Numer id Koszyka
     * 
     * @var 
     *
     * @orm 
     */
    public $basketId;

    /**
     * Nazwa koszyka nadana przez użytkownika
     * 
     * @var 
     *
     * @orm 
     */
    public $basketName;

    /**
     * Data utworzenia koszyka
     * 
     * @var 
     *
     * @orm 
     */
    public $basketDate;

    /**
     * TODO: describe property 'basketApprove'
     *
     * @var 
     *
     * @orm 
     */
    public $basketApprove;

    /**
     * TODO: describe property 'productBaskets'
     *
     * @var array of swzz_ProductBasket
     *
     * @orm has many swzz_ProductBasket inverse(basket)
     */
    public $productBaskets;

    /**
     * TODO: describe property 'log'
     *
     * @var swzz_Log
     *
     * @orm has one swzz_Log inverse(basket)
     */
    public $log;

    /**
     * TODO: describe property 'employeeStd'
     *
     * @var swzz_EmployeeStd
     *
     * @orm has one swzz_EmployeeStd inverse(baskets)
     */
    public $employeeStd;

    // ---- METHODS ----

    /**
     * TODO: describe method '__construct'
     *
     */
    public function __construct() {
    }

    /**
     * TODO: describe method 'showBasket'
     *
     */
    public function showBasket() {
    }

    /**
     * TODO: describe method 'commitBasket'
     *
     */
    public function commitBasket() {
    }

    /**
     * TODO: describe method 'addBasket'
     *
     */
    public function addBasket() {
    }

    /**
     * TODO: describe method 'sendBasket'
     *
     */
    public function sendBasket() {
    }

    /**
     * TODO: describe method 'addProduct)'
     *
     */
    public function addProduct)() {
    }

    /**
     * TODO: describe method '__destruct'
     *
     */
    public function __destruct() {
    }

    /**
     * @see swzz_Order::addProduct()
     *
     */
    public function addProduct() {
    }

    /**
     * TODO: describe method 'getBasketId'
     *
     */
    public function getBasketId() {
        return $this->basketId;
    }

    /**
     * TODO: describe method 'setBasketId'
     *
     * @param  $basketId 
     */
    public function setBasketId($basketId) {
        $this->basketId = $basketId;
    }

    /**
     * TODO: describe method 'getBasketName'
     *
     */
    public function getBasketName() {
        return $this->basketName;
    }

    /**
     * TODO: describe method 'setBasketName'
     *
     * @param  $basketName 
     */
    public function setBasketName($basketName) {
        $this->basketName = $basketName;
    }

    /**
     * TODO: describe method 'getBasketDate'
     *
     */
    public function getBasketDate() {
        return $this->basketDate;
    }

    /**
     * TODO: describe method 'setBasketDate'
     *
     * @param  $basketDate 
     */
    public function setBasketDate($basketDate) {
        $this->basketDate = $basketDate;
    }

    /**
     * TODO: describe method 'getBasketApprove'
     *
     */
    public function getBasketApprove() {
        return $this->basketApprove;
    }

    /**
     * TODO: describe method 'setBasketApprove'
     *
     * @param  $basketApprove 
     */
    public function setBasketApprove($basketApprove) {
        $this->basketApprove = $basketApprove;
    }

    /**
     * TODO: describe method 'getProductBaskets'
     *
     * @return array 
     */
    public function getProductBaskets() {
        return $this->productBaskets;
    }

    /**
     * TODO: describe method 'setProductBaskets'
     *
     * @param array $productBaskets 
     */
    public function setProductBaskets(array $productBaskets) {
        $this->productBaskets = $productBaskets;
    }

    /**
     * TODO: describe method 'getLog'
     *
     * @return swzz_Log 
     */
    public function getLog() {
        return $this->log;
    }

    /**
     * TODO: describe method 'setLog'
     *
     * @param swzz_Log $log 
     */
    public function setLog(swzz_Log $log) {
        $this->log = $log;
    }

    /**
     * TODO: describe method 'getEmployeeStd'
     *
     * @return swzz_EmployeeStd 
     */
    public function getEmployeeStd() {
        return $this->employeeStd;
    }

    /**
     * TODO: describe method 'setEmployeeStd'
     *
     * @param swzz_EmployeeStd $employeeStd 
     */
    public function setEmployeeStd(swzz_EmployeeStd $employeeStd) {
        $this->employeeStd = $employeeStd;
    }

    /**
     * TODO: describe method 'addProductBasket'
     *
     * @param swzz_ProductBasket $productBasket 
     */
    public function addProductBasket(swzz_ProductBasket $productBasket) {
        $this->productBaskets[] = $productBasket;
    }

    /**
     * TODO: describe method 'removeProductBasket'
     *
     * @param swzz_ProductBasket $productBasket 
     */
    public function removeProductBasket(swzz_ProductBasket $productBasket) {
        $key = array_search($productBasket, $this->productBaskets, true);

        if ($key !== false) {
            unset($this->productBaskets[$key]);
        }
    }

} // end of class swzz_Basket

?>